﻿
Public Class int64_property
    Inherits wrappered_property(Of Int64)

    Private Shared ReadOnly default_type As String = GetType(int64_property).Name()

    Protected Sub New(ByVal id As Int64, ByVal name As String, ByVal type As String)
        MyBase.New(id, name, type, AddressOf bytes_int64)
    End Sub

    Public Shared Function ctor(ByVal id As Int64,
                                ByVal name As String) As iproperty
        Return New int64_property(id, name, default_type)
    End Function
End Class

Public Class cached_int64_property
    Inherits wrappered_property(Of Int64)

    Private Shared ReadOnly default_type As String = GetType(cached_int64_property).Name()

    Protected Sub New(ByVal id As Int64, ByVal name As String, ByVal type As String)
        MyBase.New(id, name, type, AddressOf bytes_int64, AddressOf cached(Of Int64))
    End Sub

    Public Shared Function ctor(ByVal id As Int64,
                                ByVal name As String) As iproperty
        Return New cached_int64_property(id, name, default_type)
    End Function
End Class
